Trading Availability Utilizing Alternate Messaging Channels

ABSTRACT

Certain embodiments provide a method including determining a communication state of a trading device, the communication state based on one or more factors including a measured signal strength of a first channel, the trading device configured to utilize at least one of a first channel and a second channel to communicate. The example method includes comparing the communication state to a communication criterion. The example method includes reconfiguring, based on the comparison of the communication state to the communication criterion, the trading device from transmitting using only the first channel to transmitting using both the first channel and the second channel. The example method includes assigning a first identifier to a first trading order. The example method includes transmitting the first trade order to a server using both the first and the second channel, the first channel transmitting the first trade order using the first identifier in a first message and the second channel transmitting the first trade order using the first identifier in a second message such that the server is to process only one of the first message and the second message based on the first identifier and a time of receipt of the first message and the second message.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/530,505, filed Oct. 31, 2014, the contents of which are fullyincorporated by reference herein for all purposes.

BACKGROUND

An electronic trading system generally includes a trading device incommunication with an electronic exchange. The trading device receivesinformation about a market, such as prices and quantities, from theelectronic exchange. The electronic exchange receives messages, such asmessages related to orders, from the trading device. The electronicexchange attempts to match quantity of an order with quantity of one ormore contra-side orders.

A mobile trading device such as a smart phone, a tablet, etc. isgenerally in communication with the electronic exchange by utilizing awireless data connection. Additionally, the mobile trading devicegenerally maintains a separate wireless communication connectiontypically used for voice and text communications. In some instances, oneor more factors may affect one or more of the wireless connections ofthe mobile trading device.

BRIEF DESCRIPTION OF THE FIGURES

Certain embodiments are disclosed with reference to the followingdrawings.

FIG. 1 illustrates a block diagram representative of an exampleelectronic trading system in which certain embodiments may be employed.

FIG. 2 illustrates a block diagram of another example electronic tradingsystem in which certain embodiments may be employed.

FIG. 3 illustrates a block diagram of an example computing device whichmay be used to implement the disclosed embodiments.

FIG. 4 illustrates an example system operating in accordance with theteaching of the disclosure.

FIG. 5 illustrates an example trading area in accordance with theteachings of this disclosure.

FIG. 6A illustrates a flow diagram of an example method to improvetrading availability through text messages in accordance with theteachings of this disclosure.

FIG. 6B illustrates a flow diagram of another example method to improvetrading availability through text messages in accordance with theteachings of this disclosure.

FIG. 7 illustrates a flow diagram of another example method to improvetrading availability through text messages in accordance with theteachings of this disclosure.

FIG. 8 illustrates a flow diagram of another example method to improvetrading availability through text messages in accordance with theteachings of this disclosure.

Certain embodiments will be better understood when read in conjunctionwith the provided figures, which illustrate examples. It should beunderstood, however, that the embodiments are not limited to thearrangements and instrumentality shown in the attached figures.

DETAILED DESCRIPTION

This disclosure relates generally to electronic trading systems and,more specifically, improving mobile trading availability through textmessages.

Mobile or portable trading devices such as smartphones, tablets, etc.may establish communication links with a wireless communication providerover a plurality of communications channels. Typically, modern devicesmay utilize two channels. The first channel may provide Internetprotocol communication (e.g. a data connection) through, for example,the Long-Term Evolution (LTE) standard. The second channel mayfacilitate voice (e.g., telephonic sessions) and/or text messaging(e.g., short message service (SMS)) through, for example, the GlobalSystem for Mobile Communication (GSM) standard. Hereafter, the firstchannel may be alternatively referred to as a data connection, and thesecond channel may be alternatively referred to as a communicationsconnection.

A state of one or more communication factors (e.g., connective integrityof one or more connections of the mobile trading device, transmissionlatency of the one or more connections of the mobile trading device,geographic location of the trading device, power level of the mobiledevice, etc.) related to the one or more connections (e.g., data and/orcommunications) may affect an ability of the mobile trading device tocommunicate with an electronic exchange. For example, if connectiveintegrity (e.g., signal strength) of a data connection of a mobilecomputing device is insufficient, communication between the mobiletrading device and the electronic exchange may be inhibited, hindered,and/or error prone. However, in some examples, the connective integrityof the communications connection of the mobile computing device is muchstronger than that of the data connection. That is, the communicationsconnection may be used to send a text message using the SMS protocol tothe electronic exchange at a higher delivery success rate than using thedata connection. Thus, it may be advantageous to utilize bothconnections to send the trading order. Utilizing both the data and thecommunications connection may provide message redundancy and may alsohelp ensure that such messages are delivered from the mobile tradingdevice and the electronic exchange.

Embodiments disclosed herein improve mobile trading availability throughusing text messages instead of and/or in addition to data channelcommunication. Certain embodiments include monitoring a connectionestablished between a mobile trading device and a wireless communicationprovider, and determining a communication state related to the dataconnection. When a trading order is executed at the mobile tradingdevice, the communication state of the data connection is compared to athreshold. In response to the communication state being below thethreshold, both the data and the communications connections are utilizedto send the trading order to an electronic exchange.

Although this description discloses embodiments including, among othercomponents, software executed on hardware, it should be noted that theembodiments are merely illustrative and should not be considered aslimiting. For example, it is contemplated that any or all of thesehardware and software components may be embodied exclusively inhardware, exclusively in software, exclusively in firmware, or in anycombination of hardware, software, and/or firmware. Accordingly, certainembodiments may be implemented in other ways.

I. Brief Description of Certain Embodiments

Certain embodiments provide a method including determining acommunication state of a trading device, the communication state basedon one or more factors including a measured signal strength of a firstchannel, the trading device configured to utilize at least one of afirst channel and a second channel to communicate. The example methodincludes comparing the communication state to a communication criterion.The example method includes reconfiguring, based on the comparison ofthe communication state to the communication criterion, the tradingdevice from transmitting using only the first channel to transmittingusing both the first channel and the second channel. The example methodincludes assigning a first identifier to a first trading order. Theexample method includes transmitting the first trade order to a serverusing both the first and the second channel, the first channeltransmitting the first trade order using the first identifier in a firstmessage and the second channel transmitting the first trade order usingthe first identifier in a second message such that the server is toprocess only one of the first message and the second message based onthe first identifier and a time of receipt of the first message and thesecond message.

Certain embodiments provide a system including a trading deviceconfigured to determine a communication state of a trading device, thecommunication state based on one or more factors including a measuredsignal strength of a first channel, the trading device configured toutilize at least one of a first channel and a second channel tocommunicate. The example trading device is configured to compare thecommunication state to a communication criterion. The example tradingdevice is configured to reconfigure, based on the comparison of thecommunication state to the communication criterion, the trading devicefrom transmitting using only the first channel to transmitting usingboth the first channel and the second channel. The example tradingdevice is configured to assign a first identifier to a first tradeorder. The example trading device is configured to transmit the firsttrade order to a server using both the first and the second channel, thefirst channel transmitting the first trade order using the firstidentifier in a first message and the second channel transmitting thefirst trade order using the first identifier in a second message suchthat the server is to process only one of the first message and thesecond message based on the first identifier and a time of receipt ofthe first message and the second message.

Certain embodiments provide a tangible computer-readable storage mediumcomprising instructions that, when executed, cause a computing device toat least determine a communication state of a trading device, thecommunication state based on one or more factors including a measuredsignal strength of a first channel, the trading device configured toutilize at least one of a first channel and a second channel tocommunicate. The example instructions cause the computing device to atleast compare the communication state to a communication criterion. Theexample instructions cause the computing device to at least reconfigure,based on the comparison of the communication state to the communicationcriterion, the trading device from transmitting using only the firstchannel to transmitting using both the first channel and the secondchannel. The example instructions cause the computing device to at leastassign a first identifier to a first trade order. The exampleinstructions cause the computing device to at least transmit the firsttrade order to a server using both the first and the second channel, thefirst channel transmitting the first trade order using the firstidentifier in a first message and the second channel transmitting thefirst trade order using the first identifier in a second message suchthat the server is to process only one of the first message and thesecond message based on the first identifier and a time of receipt ofthe first message and the second message.

II. Example Electronic Trading System

FIG. 1 illustrates a block diagram representative of an exampleelectronic trading system 100 in which certain embodiments may beemployed. The system 100 includes a trading device 110, a gateway 120,and an exchange 130. The trading device 110 is in communication with thegateway 120. The gateway 120 is in communication with the exchange 130.As used herein, the phrase “in communication with” encompasses directcommunication and/or indirect communication through one or moreintermediary components. The exemplary electronic trading system 100depicted in FIG. 1 may be in communication with additional components,subsystems, and elements to provide additional functionality andcapabilities without departing from the teaching and disclosure providedherein.

In operation, the trading device 110 may receive market data from theexchange 130 through the gateway 120. A user may utilize the tradingdevice 110 to monitor this market data and/or base a decision to send anorder message to buy or sell one or more tradeable objects to theexchange 130.

Market data may include data about a market for a tradeable object. Forexample, market data may include the inside market, market depth, lasttraded price (“LTP”), a last traded quantity (“LTQ”), or a combinationthereof. The inside market refers to the highest available bid price(best bid) and the lowest available ask price (best ask or best offer)in the market for the tradeable object at a particular point in time(since the inside market may vary over time). Market depth refers toquantities available at price levels including the inside market andaway from the inside market. Market depth may have “gaps” due to priceswith no quantity based on orders in the market.

The price levels associated with the inside market and market depth canbe provided as value levels which can encompass prices as well asderived and/or calculated representations of value. For example, valuelevels may be displayed as net change from an opening price. As anotherexample, value levels may be provided as a value calculated from pricesin two other markets. In another example, value levels may includeconsolidated price levels.

A tradeable object is anything which may be traded. For example, acertain quantity of the tradeable object may be bought or sold for aparticular price. A tradeable object may include, for example, financialproducts, stocks, options, bonds, future contracts, currency, warrants,funds derivatives, securities, commodities, swaps, interest rateproducts, index-based products, traded events, goods, or a combinationthereof. A tradeable object may include a product listed and/oradministered by an exchange, a product defined by the user, acombination of real or synthetic products, or a combination thereof.There may be a synthetic tradeable object that corresponds and/or issimilar to a real tradeable object.

An order message is a message that includes a trade order. A trade ordermay be, for example, a command to place an order to buy or sell atradeable object; a command to initiate managing orders according to adefined trading strategy; a command to change, modify, or cancel anorder; an instruction to an electronic exchange relating to an order; ora combination thereof.

The trading device 110 may include one or more electronic computingplatforms. For example, the trading device 110 may include a desktopcomputer, hand-held device, laptop, server, a portable computing device,a trading terminal, an embedded trading system, a workstation, analgorithmic trading system such as a “black box” or “grey box” system,cluster of computers, or a combination thereof. As another example, thetrading device 110 may include a single or multi-core processor incommunication with a memory or other storage medium configured toaccessibly store one or more computer programs, applications, libraries,computer readable instructions, and the like, for execution by theprocessor.

As used herein, the phrases “configured to” and “adapted to” encompassthat an element, structure, or device has been modified, arranged,changed, or varied to perform a specific function or for a specificpurpose.

By way of example, the trading device 110 may be implemented as apersonal computer running a copy of X_TRADER®, an electronic tradingplatform provided by Trading Technologies International, Inc. ofChicago, Ill. (“Trading Technologies”). As another example, the tradingdevice 110 may be a server running a trading application providingautomated trading tools such as ADL®, AUTOSPREADER®, and/or AUTOTRADER™,also provided by Trading Technologies. In yet another example, thetrading device 110 may include a trading terminal in communication witha server, where collectively the trading terminal and the server are thetrading device 110.

The trading device 110 is generally owned, operated, controlled,programmed, configured, or otherwise used by a user. As used herein, thephrase “user” may include, but is not limited to, a human (for example,a trader), trading group (for example, a group of traders), or anelectronic trading device (for example, an algorithmic trading system).One or more users may be involved in the ownership, operation, control,programming, configuration, or other use, for example.

The trading device 110 may include one or more trading applications. Asused herein, a trading application is an application that facilitates orimproves electronic trading. A trading application provides one or moreelectronic trading tools. For example, a trading application stored by atrading device may be executed to arrange and display market data in oneor more trading windows. In another example, a trading application mayinclude an automated spread trading application providing spread tradingtools. In yet another example, a trading application may include analgorithmic trading application that automatically processes analgorithm and performs certain actions, such as placing an order,modifying an existing order, deleting an order. In yet another example,a trading application may provide one or more trading screens. A tradingscreen may provide one or more trading tools that allow interaction withone or more markets. For example, a trading tool may allow a user toobtain and view market data, set order entry parameters, submit ordermessages to an exchange, deploy trading algorithms, and/or monitorpositions while implementing various trading strategies. The electronictrading tools provided by the trading application may always beavailable or may be available only in certain configurations oroperating modes of the trading application.

A trading application may be implemented utilizing computer readableinstructions that are stored in a computer readable medium andexecutable by a processor. A computer readable medium may includevarious types of volatile and non-volatile storage media, including, forexample, random access memory, read-only memory, programmable read-onlymemory, electrically programmable read-only memory, electricallyerasable read-only memory, flash memory, any combination thereof, or anyother tangible data storage device. As used herein, the termnon-transitory or tangible computer readable medium is expressly definedto include any type of computer readable storage media and to excludepropagating signals.

One or more components or modules of a trading application may be loadedinto the computer readable medium of the trading device 110 from anothercomputer readable medium. For example, the trading application (orupdates to the trading application) may be stored by a manufacturer,developer, or publisher on one or more CDs or DVDs, which are thenloaded onto the trading device 110 or to a server from which the tradingdevice 110 retrieves the trading application. As another example, thetrading device 110 may receive the trading application (or updates tothe trading application) from a server, for example, via the Internet oran internal network. The trading device 110 may receive the tradingapplication or updates when requested by the trading device 110 (forexample, “pull distribution”) and/or un-requested by the trading device110 (for example, “push distribution”).

The trading device 110 may be adapted to send order messages. Forexample, the order messages may be sent to through the gateway 120 tothe exchange 130. As another example, the trading device 110 may beadapted to send order messages to a simulated exchange in a simulationenvironment which does not effectuate real-world trades.

The order messages may be sent at the request of a user. For example, atrader may utilize the trading device 110 to send an order message ormanually input one or more parameters for a trade order (for example, anorder price and/or quantity). As another example, an automated tradingtool provided by a trading application may calculate one or moreparameters for a trade order and automatically send the order message.In some instances, an automated trading tool may prepare the ordermessage to be sent but not actually send it without confirmation from auser.

An order message may be sent in one or more data packets or through ashared memory system. For example, an order message may be sent from thetrading device 110 to the exchange 130 through the gateway 120. Thetrading device 110 may communicate with the gateway 120 using a localarea network, a wide area network, a wireless network, a virtual privatenetwork, a cellular network, a peer-to-peer network, a T1 line, a T3line, an integrated services digital network (“ISDN”) line, apoint-of-presence, the Internet, a shared memory system and/or aproprietary network such as TTNET™ provided by Trading Technologies, forexample.

The gateway 120 may include one or more electronic computing platforms.For example, the gateway 120 may be implemented as one or more desktopcomputer, hand-held device, laptop, server, a portable computing device,a trading terminal, an embedded trading system, workstation with asingle or multi-core processor, an algorithmic trading system such as a“black box” or “grey box” system, cluster of computers, or anycombination thereof. Alternatively, the example gateway 120 may beimplemented by a synthetic order server (e.g., ASE, SSE, AlgoSE, etc.).

The gateway 120 may facilitate communication. For example, the gateway120 may perform protocol translation for data communicated between thetrading device 110 and the exchange 130. The gateway 120 may process anorder message received from the trading device 110 into a data formatunderstood by the exchange 130, for example. Similarly, the gateway 120may transform market data in an exchange-specific format received fromthe exchange 130 into a format understood by the trading device 110, forexample.

The gateway 120 may include a trading application, similar to thetrading applications discussed above, that facilitates or improveselectronic trading. For example, the gateway 120 may include a tradingapplication that tracks orders from the trading device 110 and updatesthe status of the order based on fill confirmations received from theexchange 130. As another example, the gateway 120 may include a tradingapplication that coalesces market data from the exchange 130 andprovides it to the trading device 110. In yet another example, thegateway 120 may include a trading application that provides riskprocessing, calculates implieds, handles order processing, handlesmarket data processing, or a combination thereof.

In certain embodiments, the gateway 120 communicates with the exchange130 using a local area network, a wide area network, a wireless network,a virtual private network, a cellular network, a peer-to-peer network, aT1 line, a T3 line, an ISDN line, a point-of-presence, the Internet, ashared memory system, and/or a proprietary network such as TTNET™provided by Trading Technologies, for example.

The exchange 130 may be owned, operated, controlled, or used by anexchange entity. Example exchange entities include the CME Group, theLondon International Financial Futures and Options Exchange, theIntercontinental Exchange, and Eurex. The exchange 130 may include anelectronic matching system, such as a computer, server, or othercomputing device, which is adapted to allow tradeable objects, forexample, offered for trading by the exchange, to be bought and sold. Theexchange 130 may include separate entities, some of which list and/oradminister tradeable objects and others which receive and match orders,for example. The exchange 130 may include an electronic communicationnetwork (“ECN”), for example.

The exchange 130 may be an electronic exchange. The exchange 130 isadapted to receive order messages and match contra-side trade orders tobuy and sell tradeable objects. Unmatched trade orders may be listed fortrading by the exchange 130. Once an order to buy or sell a tradeableobject is received and confirmed by the exchange, the order isconsidered to be a working order until it is filled or cancelled. Ifonly a portion of the quantity of the order is matched, then thepartially filled order remains a working order. The trade orders mayinclude trade orders received from the trading device 110 or otherdevices in communication with the exchange 130, for example. Forexample, typically the exchange 130 will be in communication with avariety of other trading devices (which may be similar to trading device110) which also provide trade orders to be matched.

The exchange 130 is adapted to provide market data. Market data may beprovided in one or more messages or data packets or through a sharedmemory system. For example, the exchange 130 may publish a data feed tosubscribing devices, such as the trading device 110 or gateway 120. Thedata feed may include market data.

The system 100 may include additional, different, or fewer components.For example, the system 100 may include multiple trading devices,gateways, and/or exchanges. In another example, the system 100 mayinclude other communication devices, such as middleware, firewalls,hubs, switches, routers, servers, exchange-specific communicationequipment, modems, security managers, and/or encryption/decryptiondevices.

III. Expanded Example Electronic Trading System

FIG. 2 illustrates a block diagram of another example electronic tradingsystem 200 in which certain embodiments may be employed. In thisexample, a trading device 210 may utilize one or more communicationnetworks to communicate with a gateway 220 and exchange 230. Forexample, the trading device 210 utilizes network 202 to communicate withthe gateway 220, and the gateway 220, in turn, utilizes the networks 204and 206 to communicate with the exchange 230. As used herein, a networkfacilitates or enables communication between computing devices such asthe trading device 210, the gateway 220, and the exchange 230.

The following discussion generally focuses on the trading device 210,gateway 220, and the exchange 230. However, the trading device 210 mayalso be connected to and communicate with “n” additional gateways(individually identified as gateways 220 a-220 n, which may be similarto gateway 220) and “n” additional exchanges (individually identified asexchanges 230 a-230 n, which may be similar to exchange 230) by way ofthe network 202 (or other similar networks). Additional networks(individually identified as networks 204 a-204 n and 206 a-206 n, whichmay be similar to networks 204 and 206, respectively) may be utilizedfor communications between the additional gateways and exchanges. Thecommunication between the trading device 210 and each of the additionalexchanges 230 a-230 n need not be the same as the communication betweenthe trading device 210 and exchange 230. Generally, each exchange hasits own preferred techniques and/or formats for communicating with atrading device, a gateway, the user, or another exchange. It should beunderstood that there is not necessarily a one-to-one mapping betweengateways 220 a-220 n and exchanges 230 a-230 n. For example, aparticular gateway may be in communication with more than one exchange.As another example, more than one gateway may be in communication withthe same exchange. Such an arrangement may, for example, allow one ormore trading devices 210 to trade at more than one exchange (and/orprovide redundant connections to multiple exchanges).

Additional trading devices 210 a-210 n, which may be similar to tradingdevice 210, may be connected to one or more of the gateways 220 a-220 nand exchanges 230 a-230 n. For example, the trading device 210 a maycommunicate with the exchange 230 a via the gateway 220 a and thenetworks 202 a, 204 a and 206 a. In another example, the trading device210 b may be in direct communication with exchange 230 a. In anotherexample, trading device 210 c may be in communication with the gateway220 n via an intermediate device 208 such as a proxy, remote host, orWAN router.

The trading device 210, which may be similar to the trading device 110in FIG. 1, includes a server 212 in communication with a tradingterminal 214. The server 212 may be located geographically closer to thegateway 220 than the trading terminal 214 in order to reduce latency. Inoperation, the trading terminal 214 may provide a trading screen to auser and communicate commands to the server 212 for further processing.For example, a trading algorithm may be deployed to the server 212 forexecution based on market data. The server 212 may execute the tradingalgorithm without further input from the user. In another example, theserver 212 may include a trading application providing automated tradingtools and communicate back to the trading terminal 214. The tradingdevice 210 may include additional, different, or fewer components.

In operation, the network 202 may be a multicast network configured toallow the trading device 210 to communicate with the gateway 220. Dataon the network 202 may be logically separated by subject such as, forexample, by prices, orders, or fills. As a result, the server 212 andtrading terminal 214 can subscribe to and receive data such as, forexample, data relating to prices, orders, or fills, depending on theirindividual needs.

The gateway 220, which may be similar to the gateway 120 of FIG. 1, mayinclude a price server 222, order server 224, and fill server 226. Thegateway 220 may include additional, different, or fewer components. Theprice server 222 may process price data. Price data includes datarelated to a market for one or more tradeable objects. The order server224 processes order data. Order data is data related to a user's tradeorders. For example, order data may include order messages, confirmationmessages, or other types of messages. The fill server collects andprovides fill data. Fill data includes data relating to one or morefills of trade orders. For example, the fill server 226 may provide arecord of trade orders, which have been routed through the order server224, that have and have not been filled. The servers 222, 224, and 226may run on the same machine or separate machines. There may be more thanone instance of the price server 222, the order server 224, and/or thefill server 226 for gateway 220. In certain embodiments, the additionalgateways 220 a-220 n may each includes instances of the servers 222,224, and 226 (individually identified as servers 222 a-222 n, 224 a-224n, and 226 a-226 n).

The gateway 220 may communicate with the exchange 230 using one or morecommunication networks. For example, as shown in FIG. 2, there may betwo communication networks connecting the gateway 220 and the exchange230. The network 204 may be used to communicate market data to the priceserver 222. In some instances, the exchange 230 may include this data ina data feed that is published to subscribing devices. The network 206may be used to communicate order data to the order server 224 and thefill server 226. The network 206 may also be used to communicate orderdata from the order server 224 to the exchange 230.

The exchange 230, which may be similar to the exchange 130 of FIG. 1,includes an order book 232 and a matching engine 234. The exchange 230may include additional, different, or fewer components. The order book232 is a database that includes data relating to unmatched trade ordersthat have been submitted to the exchange 230. For example, the orderbook 232 may include data relating to a market for a tradeable object,such as the inside market, market depth at various price levels, thelast traded price, and the last traded quantity. The matching engine 234may match contra-side bids and offers pending in the order book 232. Forexample, the matching engine 234 may execute one or more matchingalgorithms that match contra-side bids and offers. A sell order iscontra-side to a buy order. Similarly, a buy order is contra-side to asell order. A matching algorithm may match contra-side bids and offersat the same price, for example. In certain embodiments, the additionalexchanges 230 a-230 n may each include order books and matching engines(individually identified as the order book 232 a-232 n and the matchingengine 234 a-234 n, which may be similar to the order book 232 and thematching engine 234, respectively). Different exchanges may usedifferent data structures and algorithms for tracking data related toorders and matching orders.

In operation, the exchange 230 may provide price data from the orderbook 232 to the price server 222 and order data and/or fill data fromthe matching engine 234 to the order server 224 and/or the fill server226. Servers 222, 224, 226 may process and communicate this data to thetrading device 210. The trading device 210, for example, using a tradingapplication, may process this data. For example, the data may bedisplayed to a user. In another example, the data may be utilized in atrading algorithm to determine whether a trade order should be submittedto the exchange 230. The trading device 210 may prepare and send anorder message to the exchange 230.

In certain embodiments, the gateway 220 is part of the trading device210. For example, the components of the gateway 220 may be part of thesame computing platform as the trading device 210. As another example,the functionality of the gateway 220 may be performed by components ofthe trading device 210. In certain embodiments, the gateway 220 is notpresent. Such an arrangement may occur when the trading device 210 doesnot need to utilize the gateway 220 to communicate with the exchange230, such as if the trading device 210 has been adapted to communicatedirectly with the exchange 230.

IV. Example Computing Device

FIG. 3 illustrates a block diagram of an example computing device whichmay be used to implement the disclosed embodiments. The trading device110 of FIG. 1 may include one or more computing devices 300, forexample. In some examples, the example trading device may be a mobiletrading and/or computing device (e.g., smartphone, tablet, smartwatch,etc.). The gateway 120 of FIG. 1 may include one or more computingdevices 300, for example. The exchange 130 of FIG. 1 may include one ormore computing devices 300, for example.

The computing device 300 includes a communication network 310, aprocessor 312, a memory 314, an interface 316, an input device 318, andan output device 320. The computing device 300 may include additional,different, or fewer components. For example, multiple communicationnetworks, multiple processors, multiple memory, multiple interfaces,multiple input devices, multiple output devices, or any combinationthereof, may be provided. As another example, the computing device 300may not include an input device 318 or output device 320.

As shown in FIG. 3, the computing device 300 may include a processor 312coupled to a communication network 310. The communication network 310may include a communication bus, channel, electrical or optical network,circuit, switch, fabric, or other mechanism for communicating databetween components in the computing device 300. The communicationnetwork 310 may be communicatively coupled with and transfer databetween any of the components of the computing device 300.

The processor 312 may be any suitable processor, processing unit, ormicroprocessor. The processor 312 may include one or more generalprocessors, digital signal processors, application specific integratedcircuits, field programmable gate arrays, analog circuits, digitalcircuits, programmed processors, and/or combinations thereof, forexample. The processor 312 may be a single device or a combination ofdevices, such as one or more devices associated with a network ordistributed processing. Any processing strategy may be used, such asmulti-processing, multi-tasking, parallel processing, and/or remoteprocessing. Processing may be local or remote and may be moved from oneprocessor to another processor. In certain embodiments, the computingdevice 300 is a multi-processor system and, thus, may include one ormore additional processors which are communicatively coupled to thecommunication network 310.

The processor 312 may be operable to execute logic and other computerreadable instructions encoded in one or more tangible media, such as thememory 314. As used herein, logic encoded in one or more tangible mediaincludes instructions which may be executable by the processor 312 or adifferent processor. The logic may be stored as part of software,hardware, integrated circuits, firmware, and/or micro-code, for example.The logic may be received from an external communication device via acommunication network such as the network 340. The processor 312 mayexecute the logic to perform the functions, acts, or tasks illustratedin the figures or described herein.

The memory 314 may be one or more tangible media, such as computerreadable storage media, for example. Computer readable storage media mayinclude various types of volatile and non-volatile storage media,including, for example, random access memory, read-only memory,programmable read-only memory, electrically programmable read-onlymemory, electrically erasable read-only memory, flash memory, anycombination thereof, or any other tangible data storage device. As usedherein, the term non-transitory or tangible computer readable medium isexpressly defined to include any type of computer readable medium and toexclude propagating signals. The memory 314 may include any desired typeof mass storage device including hard disk drives, optical media,magnetic tape or disk, etc.

The memory 314 may include one or more memory devices. For example, thememory 314 may include local memory, a mass storage device, volatilememory, non-volatile memory, or a combination thereof. The memory 314may be adjacent to, part of, programmed with, networked with, and/orremote from processor 312, so the data stored in the memory 314 may beretrieved and processed by the processor 312, for example. The memory314 may store instructions which are executable by the processor 312.The instructions may be executed to perform one or more of the acts orfunctions described herein or shown in the figures.

The memory 314 may store a trading application 330. In certainembodiments, the trading application 330 may be accessed from or storedin different locations. The processor 312 may access the tradingapplication 330 stored in the memory 314 and execute computer-readableinstructions included in the trading application 330.

In certain embodiments, during an installation process, the tradingapplication may be transferred from the input device 318 and/or thenetwork 340 to the memory 314. When the computing device 300 is runningor preparing to run the trading application 330, the processor 312 mayretrieve the instructions from the memory 314 via the communicationnetwork 310.

V. Improving Trading Availability Through Text Messaging

Example methods to improve trading availability on a device through textmessage are disclosed herein.

When a trader uses a trading device, many communication channels may beutilized. For example, a communications connection and/or a dataconnection may be established to facilitate communication. Generally, tocommunicate with an electronic exchange, a data communication link overthe data connection is established between the trading device 210 and agateway 220. This data communication link may provide access to one ormore markets at the exchange. The data communication link may alsoenable the trading device 210 to interact with the gateway.

In some examples, a text communication link over the communicationsconnection is established between the trading device 210 and a basestation of a mobile telephone network. For example, a frequency (e.g., achannel) used for communication between a base station and a tradingdevice 210 may be utilized to send text messages. Generally, such basestations are communicatively coupled to a short message service center(SMSC). The SMSC is responsible for storing, routing, and/or deliveringtext messages sent over a mobile telephone network. Additionally, theSMSC may be communicatively coupled to wide area network, such as theInternet, for example. By being in communication with the Internet, forexample, the SMSC may route text messages via an Internet protocol(e.g., hypertext transfer protocol (HTTP)) to a gateway or server.Examples disclosed herein leverage the cross network ability provided byan SMSC to provide communication redundancy between a trading device 210and a gateway.

Generally, a trading device (e.g., trading device 210) is used in anenvironment where data connections are quite strong. For example, anoffice environment typically contains many wireless access points. Theabundance of these wireless access points provides the office with arobust broadcast of a wireless data connection. Thus, problems typicallydo not arise with data communications occurring in such an environment.However, in some examples, a mobile or portable trading device 210 maybe utilized in an environment where the data connection of the tradingdevice 210 may be unreliable, while the communications connectionoperates normally.

The data connection of the trading device 210 may be affected by one ormore communication criterion. The communication criterion are one ormore functions, characteristics, and/or attributes of the trading device210 and/or the data connection that enable, affect, and/or supportcommunication between the trading device 210 and the exchange via thedata connection. The communication criterion include, for example, astrength of the signal of the data connection received via the tradingdevice 210 (e.g., a connectivity level of the trading device 210), andlatency at a gateway server. A qualitative and/or quantitativemeasurement, value, and/or status of a communication criterion ischaracterized as a state of the communication criterion (referred toherein as “a communication state”). If the communication statedeteriorates below a minimum threshold state, the communication betweenthe trading device 210 and the exchange may be interrupted (e.g.,delayed, incomplete, and/or substantially impaired). Thus, thecommunication state reflects an ability of the trading device 210 tocommunicate with the exchange via the data connection.

Certain examples disclosed herein monitor the data communication linkestablished via the data connection between the trading device 210 and agateway. For example, the trading device 210 may measure a strength ofthe signal of the data connection received by the trading device 210.The examples may also include determining a communication state relatedto the data communication link (e.g., a connectivity level of thetrading device 210 relative to a maximum or best possible connectivitylevel).

In some examples, a transmission redundancy threshold is set (e.g., by auser, automatically by a trading application, etc.). For example, thetransmission redundancy threshold may be a predetermined state of acommunication criterion at which an ability of transmission via the dataconnection between the trading device 210 and the exchange may beimpaired. In some examples, the transmission redundancy threshold may beset at a given percentage of a maximum or best possible signal strengthto be received by the trading device. If the trading device detects asignal having a strength at or below the given percentage, atransmission redundancy action is initiated at the trading device 210.For example, the transmission redundancy action may include assigning anidentifier to a detected trade order, determining the priority of thetrading order, generating at least two order messages containing thetrade order and the identifier, and transmitting the messages using anSMS message across a communications connection and an HTTPS messageacross a data connection. If the communication state falls below thetransmission redundancy threshold, a transmission redundancy action maybe initiated at the trading device 210.

The transmission redundancy action may be the utilization of the dataconnection as well as the communications connection of the tradingdevice 210 to send an order message to the electronic exchange. In someexamples, the order message is sent via the communications connection byway of a text based message (e.g., an SMS message). The above-notedtransmission redundancy action is merely an example and, thus, othertransmission redundancy actions may be performed without departing fromthe scope of this disclosure. For example, each connection establishedby the trading device 210 may be utilized to send order messages in theevent that the communication state is below the transmission redundancythreshold.

Certain examples disclosed herein assign an identifier to the tradeorder when the example trading device 210 utilizes a transmissionredundancy action. In some examples, the assigned identifier may be usedto prevent dual orders from a gateway to an electronic exchange onbehalf of the user of the trading device 210. In some examples, anidentifier (e.g., a hash code, a sequential identifier, a string, anumeric value, a hex code, a proprietary identification, etc.) isincluded in the order message when it is sent to the gateway 220. Inother examples, the identifier may also include an indicator ofpriority. For example, a trading order such as a “cancel” may carry ahigh priority indicator. The priority indicator may be used to notifythe gateway to expedite the trading order, or move the trading ordersubstantially closer to execution in a service queue.

As an illustrative example, when the trading device 210 is taking atransmission redundancy action, two messages containing the same desiredtrade order (e.g., a buy order for 10 shares of Company X) may betransmitted. A message may be sent via the low strength data connection(e.g., an HTTPS message) and another message may be sent using a morerobust communications connection (e.g., an SMS message). An identicalidentifier (e.g., a hex value of A0E3) for the trade order may beincluded in both messages so that the gateway may acknowledge a firstreceived message and ignore subsequent received trading orders havingthe same identifier. In the example, the message sent via thecommunications connection may arrive at the gateway before the messagesent using the data connection. Upon determining that a message with theidentifier has not been received, the gateway forwards the order messagesent via the communications connection to the electronic exchange.Later, the message sent via the data connection arrives at the gateway.When processing the data connection message of the trading device 210,the gateway determines that such an identifier has been observed.Consequently, the gateway ignores and/or discards the data connectionmessage at least because the identifier has been observed before and/orthe trade order identified in the message has been forwarded to theelectronic exchange.

Certain examples disclosed herein determine the communication statebased on a location of the trading device 210. In some examples, thetrading device 210 is associated with the communication state based on amap. In some examples, the map includes areas that are associated withcommunication states. In some examples, the map is generated and/orupdated based on communication states communicated via a plurality ofother trading devices located in the areas. If the trading device 210 islocated in one of the areas, the trading device 210 may be associatedwith the communication state associated with that area.

FIG. 4. illustrates an example system 400 including an example tradingdevice 210 in communication 410 with an example base station 405, thetrading device 210 utilizing transmission redundancy. The exampletrading device 210 may be a mobile or portable trading device such as,for example, a hand-held device, a laptop, a tablet, a cell phone, aportable computing device, etc.

The trading device 210 generates a packet (e.g., packet A 402) during atransmission redundancy action. The packet 402 comprises a trading order403 and an identifier 404. The trading order 403 may contain any requestor query to be executed at the behest of a trading party (e.g., thetrader using a trading device). For example, the trading order 403 maybe a request for price updates, market position changes, etc.

The identifier 404 is a unique identification assigned to the tradingorder 403 during the execution of a transmission redundancy action. Theidentifier 404 may be a uniquely generated identification based on, forexample, any identifying information about at least one of the tradingorder 403, the trader associated with the trading device 210, thetrading device 210 identification, etc. In other examples, the uniqueidentification is independent of any identifying information such asthose non-exhaustively enumerated above.

The example base station 405 of the system 400 of FIG. 4 providescommunication 410 over two example channels 415, 425. For example, theexample base station 405 may be an access point (e.g., a standard mobilebase station, a microcell, a picocell, a femtocell, etc.) that isaccessible using cellular communication technology (e.g., global systemfor mobile communication (GSM), code division multiple access (CDMA),etc.). The base station 405 is an active base station that providescommunication services to a subscriber network (e.g., Verizon, AT&T,T-Mobile, Sprint, etc.). The example base station 405 may alsofacilitate communication between the trading device 405 and a network(e.g., a local area network (LAN), a wide area network (WAN), theInternet, and/or a cellular phone system) via a specific channel (e.g.,data channel 425) or routing device.

The example communications channel 415 of the example system 400 of FIG.4 is a communications connection between the example trading device 210and the base station 405. The communications channel 415 may be acellular or mobile network such as a Global System for MobileCommunications (GSM) network, a Personal Communications Service (PCS)network, a Digital Advanced Mobile Phone Service (D-AMPS) network, a 3Gnetwork, a 4G network, and/or any other wireless communication network,all of which may be terrestrial and/or satellite based. The examplecommunications channel 415 is utilized to facilitate telephonic sessionsas well as text based communications. In the example of FIG. 4, thetrading device 210 sends text communications (e.g., SMS Packet A 420 aand SMS Packet B 420 b) via the communications channel 415.

The example data channel 425 depicted in the example of FIG. 4 may be adata channel such as a Wi-Fi network (e.g., a IEEE 802.x network), aLong-Term Evolution (LTE) network, a global system for mobile (GSM)communication network, a time division multiple access (TDMA) network, acode division multiple access (CDMA) network, an orthogonal frequencydivision multiplexing (OFDM) network, High Speed Packet Access (HSPA(+))network, and/or Worldwide Interoperability for Microwave Access (WiMAX).Example data channels may be, and/or may include, a terrestrial basedsystems and a satellite relay systems. In the example of FIG. 4, thetrading device 210 transmits data (e.g., Internet protocol packet A 430)via the data channel 425.

In the example FIG. 4, the trading device 210 executes a trading order.When the trading order is executed, the trading device 210 determinesthat a communication criterion of the current communication state of thedata connection (e.g., signal strength) is below the transmissionredundancy threshold. For example, the trading device 210 may determinethat signal strength of the data connection 425 is not strong enough toindicate a sufficient probability of a successful transmission.Therefore, the trading device 210 utilizes a transmission redundancyaction. An identifier is assigned to the trading order. Then, thetrading order and the identifier are packaged together in a data packet.The packet is then sent via an SMS message (e.g., SMS Packet A 420) andvia an HTTPS message (e.g., Internet Protocol Packet A 430) to thegateway via the base station 405.

FIG. 5 illustrates an example map of an area 500 in which exampletrading devices 210 a/210 b may be located. In the illustrated example,the area 500 includes a plurality of zones 502, 504, 506, 508, 510. Eachof the example zones 502, 504, 506, 508, 510 defines a geographic regionas a function of a communication criterion evaluated with respect to thetrading devices 210 a/210 b. In the illustrated example, thecommunication criterion is a connectivity level of the trading devices210 a/210 b data connection (e.g., data connection 425 of FIG. 4). Forexample, Zone A 502 is associated with no data connectivity; Zone B 504is associated with intermittent data connectivity; Zone C 506 isassociated with high data connectivity, etc. In other examples, thezones 502, 504, 506, 508, 510 are associated with other states and/orcommunication criterion such as the signal-to-noise ratio, and the typeof network available. The example zones 502, 504, 506, 508, 510 maycorrespond to buildings, streets, cities, areas defined by globalpositioning system (“GPS”) coordinates, and/or any other type of area.

In the illustrated example of FIG. 5, a state of a communicationcriterion is determined based on a signal strength of the tradingdevices 210 a/210 b. In some examples, the trading devices 210 a/210 bmay determine their signal strength via a wireless radio device. If thetrading devices 210 a/210 b are located in one of the zones 502, 504,506, 508, 510, the trading devices 210 a/210 b are associated with astate of the communication criteria (e.g., a data connectivity level) ofthe zone 502, 504, 506, 508, 510 in which the trading devices 210 a/210b is located. For example, if the trading device 210 a determines thatit is located in Zone D 508, the trading device 210 a is associated withthe communication state that is associated with Zone D 508: medium dataconnectivity. If medium data connectivity is at or below thetransmission redundancy threshold, a transmission redundancy action isinitiated. Alternatively, if trading device 210 b determines that it islocated within Zone C 506, the trading device 210 b is associated withthe communication state that is associated with Zone C 506: high dataconnectivity. In some examples, such high data connectivity may nottrigger the transmission redundancy action. In other examples, if thetrading devices 210 a/210 b are within a predetermined distance (e.g.,five hundred feet) from a zone associated with a communication state ator below the transmission redundancy threshold, the transmissionredundancy action is initiated. For example, a transmission redundancyaction may be executed with respect to trade orders on the tradingdevice 210 a, when the trading device is located near the zoneassociated with the communication state at or below the transmissionredundancy threshold.

In the illustrated example, a map is generated (e.g., the zones 502,504, 506, 508, 510 are determined and/or associated with thecommunication criterion) based on communication states and tradingdevice locations communicated by a plurality of trading devicesincluding the trading devices 210 a/210 b and other trading devices. Forexample, each of the trading devices 210 a/210 b monitors acommunication state and its location and communicates the communicationstate and its location to a central location such as the gateway 220 a.Based on the communication states and the locations, a host generatesand/or updates the map. In some examples, the map includes a table, amatrix, and/or a database, etc. that includes the communication statesand the device locations. In some examples, the map includes a graphicalrepresentation of an area. The map may be communicated to the tradingdevices 210 a/210 b to enable the trading devices to assesscommunication risks (e.g., a need to execute a transmission redundancyaction) based on their locations and the map.

FIG. 6A is a flow diagram of an example method 600 to improve tradingavailability through text messaging. The example method 600 may beperformed by any trading device (e.g., the trading device 210 of FIG. 2,the trading device 210 of FIG. 4, etc.). The example method 600 beginsby monitoring the trading device 210 for an execution of a trading order(block 602). When a trading order is detected, one or more communicationcriterion are determined (block 610).

The trading device 210 gathers at least one of the signal strength ofthe data connection 425, geographic location of the trading device 210,and/or a ping duration of the data connection (e.g., the travel time ofa message from the trading device 210 to the gateway) to identify thecommunication state of the trading device 210. The trading device 210then determines if a communication state may be identified (block 622).For example, if the signal strength of the data connection is high, acommunication state may not be identified because other factors such as,a geographic location or the ping duration, may indicate a need toexecute a transmission redundancy action. If the trading device 210determines that enough information has been gathered, then the tradingdevice 210 identifies the communication state (block 625). If thetrading device 210 is unable to make such a determination, the tradingdevice 210 will continue to gather additional information on thecommunication criterion (e.g., return to block 610).

When the communication state has been identified (e.g., at block 625),the trading device 210 determines if a transmission redundancy actionmay be executed (block 627). In the illustrated example method of FIG.6A, the communication state identified by the trading device 210 (e.g.,at block 625) is compared to a transmission redundancy threshold. If thecommunication state exceeds the transmission redundancy threshold, thetrading device 210 proceeds to send the trading order across the dataconnection (block 635). However, if the communication state isdetermined by the trading device 210 to be below the transmissionredundancy threshold, the trading device 210 proceeds to take atransmission redundancy action (block 630).

FIG. 6B is a flow diagram of an example method for implementing theinstructions of block 610. Certain examples may conduct the instructionsof FIG. 6B in a singular fashion. That is, a single block of FIG. 6B mayexecuted at a time in any order. Certain other examples may conduct theinstructions of each of the blocks of FIG. 6B substantiallysimultaneously. Yet, certain other examples may conduct additionalactions within FIG. 6B according to further identified communicationcriterion such as signal to noise ratio, etc.

The trading device 210 of the illustrated example of FIG. 6B begins bydetermining the signal strength of the data connection 425 (block 655).For example, the signal strength may be obtained as a value (e.g., avalue in dBm, or Decibel-milliwatts) or may be obtained as a percentagevalue compared to a maximum or best possible signal strength.

The trading device 210 also may determine the geographic location of thetrading device 210 (block 655). For example, the location may bedetermined via a GPS associated with the trading device 210.Additionally or alternatively, the location may be determined accordingto the map, locations, and examples discussed in conjunction with FIG.5.

The trading device 210 also may determine a ping duration of the dataconnection (block 670). The ping duration may be representative of themost recent travel time of a transmit and acknowledge pair. For example,the transmissions from the trading device 210 to the gateway may betimed according to a duration. The duration may be, for example,starting from the time of transmission of a message from the tradingdevice 210 to the gateway and ending when the trading device 210receives an acknowledgement of receipt of the message from the gateway.The duration of the most recent transmit acknowledge pair may be used atthe time of the instructions of block 610 and/or block 670 to obtain theping duration. Alternatively, a small test packet may be sent to thegateway at the time of the execution of block 670 to determine such aping duration.

FIG. 7 is a flow diagram of an example method for implementing theinstructions associated with block 630 of example FIG. 6A. The examplemethod 630 of FIG. 7 begins when the communication state is judged to beat or below the transmission redundancy threshold (e.g., at block 627 ofFIG. 6). The trading device 210 determines if the transmissionredundancy action should be taken in response to the detection of thetrading order (e.g., at block 602 of FIG. 6A). If the trading device 210has arrived at block 705 in error, the routine ends and moves to block635 to send the trading order across the data connection. However, whenthe trading device 210 determines that the transmission redundancyaction should be executed, the trading device 210 then determines thepriority of the trading order (block 710).

For example, some trade orders carry instructions regarding marketposition changes that may be relevant to a trading strategy. Suchactions include pause, cancel, hold, change (e.g., valuation and/orquantity), submit orders to an exchange, and/or release hold orders.

When the priority has been identified, the trading device 210 assigns anidentifier to the trading order (block 715). For example, the tradingdevice 210 may assign an identifier a number of ways. In some examples,the identifier is a uniquely generated identification based on anyidentifying information about at least one of the trading order, thepriority of the trading order, the user of trading device 210, thetrading device 210 identification, etc. In other examples, the uniqueidentification is independent of any identifying information such asthose non-exhaustively enumerated above. A packet may be generatedcontaining the trading order and the identifier.

The trading device 210 generates a first message containing the packetaccording to the protocol of the data connection 425 (block 720). Forexample, the first message may be an internet protocol formatted messagesuch as an HTTPS message (e.g., Internet Protocol Packet A 430). Thetrading device also generates a second message according to thecommunications connection 415 (block 725). For example, the secondmessage may be an SMS message (e.g., SMS packet A 420). The tradingdevice 210 then proceeds to transmit the first and the second messagesto the gateway for routing to the exchange (blocks 730 and 735). Theexample instructions 720/725 and 730/735 may be executed substantiallysimultaneously and/or in any order with respect to the first and thesecond messages and are not limited by the illustration provided inexample FIG. 7.

FIG. 8 is a flow diagram of an example method 800 to improve tradingavailability through text messaging. The example method 800 may beperformed by any gateway device (e.g., the gateway device 220 of FIG. 2,etc.). The example method 800 begins when an order message transmittedby an example trading device 210 according to this disclosure isreceived at a gateway 220, wherein the order message contains a tradingorder and/or an identifier (block 805).

The gateway 220 processes the received order message to extract thetrading order 403 and the identifier 404 (block 810). The gateway 220analyzes the identifier to determine whether the identifier has beenseen by the gateway 220 before (block 815).

For example, two order messages may be sent as a result of atransmission redundancy action, wherein the messages carry matchingidentifiers. Thus, the gateway 220 may verify that a message containingthe same identifier has been received. It is advantageous to utilizesuch an identifier in the event that multiple orders of the same typeand quantity are executed by a trader. Without an identifier, three buyorders of identical quantity and price placed by a trader may not beaccurately filled. Relying upon the trade order alone may, in someinstances, lead to the gateway 220 discarding the second and third buyorder. By utilizing the identifier, the gateway 220 may accuratelyrecognize the second and third trade orders as legitimate tradingorders.

If the identifier has been seen previously at the gateway 220, themessage may be discarded or ignored (block 830). If the message isdiscarded or ignored, the example process 800 ends.

However, if the identifier has not been seen before at the gateway 220,the order message is further processed (block 820). The trading order isextracted from the order message by the gateway 220. The extractedtrading order is transmitted to the electronic exchange by the gateway220 (block 825) and the example instructions end.

To illustrate improving trade availability through text messaging anoperational example is provided. A trading device 210 detects theexecution of a trading order. The trading order is a buy request fromuser “ARJ” for 10 shares of Company X at a price of $25 per share, forexample. When the trading order is detected, a signal strength of thedata connection is determined. The signal strength communicationcriterion is determined by the trading device 210 to be below atransmission redundancy threshold for the communication state. Inresponse to the communication state being below the transmissionredundancy threshold, a transmission redundancy action is taken.

The trading device 210 assigns an identifier to the trading order. Forexample, the identifier may be of the form “ARJB10X.” The trading device210 then generates a packet containing the requisite information of thetrading order as well as the assigned identifier. The mobile computingdevice then generates two order messages. The first order message is amessage containing the packet sent via the HTTPS protocol. The secondorder message is an SMS text message containing the packet. Both thefirst and the second order message are sent to the gateway 220. Thefirst order message is sent using the data connection of the tradingdevice 210. The second order message is sent using the communicationsconnection. The gateway 220 receives both messages but only processesthe first order message received. The gateway 220 recognizes the secondmessage as redundant based on a review of the identifier associated withboth messages. The gateway 220 extracts the trading order from the ordermessage and transmits the trading order to the exchange 230 forexecution.

By utilizing a transmission redundancy action, the trading devicesavailability to trade is greatly increased over existing methods.Providing alternative pathways to execute time sensitive instructionssuch as trading orders, for example, in potentially unreliableconnectivity situations greatly improves the functionality of thetrading device in the art of financial technologies.

Some of the described figures depict example block diagrams, systems,and/or flow diagrams representative of methods that may be used toimplement all or part of certain embodiments. One or more of thecomponents, elements, blocks, and/or functionality of the example blockdiagrams, systems, and/or flow diagrams may be implemented alone or incombination in hardware, firmware, discrete logic, as a set of computerreadable instructions stored on a tangible computer readable medium,and/or any combinations thereof, for example.

The example block diagrams, systems, and/or flow diagrams may beimplemented using any combination of application specific integratedcircuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)), fieldprogrammable logic device(s) (FPLD(s)), discrete logic, hardware, and/orfirmware, for example. Also, some or all of the example methods may beimplemented manually or in combination with the foregoing techniques,for example.

The example block diagrams, systems, and/or flow diagrams may beperformed using one or more processors, controllers, and/or otherprocessing devices, for example. For example, the examples may beimplemented using coded instructions, for example, computer readableinstructions, stored on a tangible computer readable medium. A tangiblecomputer readable medium may include various types of volatile andnon-volatile storage media, including, for example, random access memory(RAM), read-only memory (ROM), programmable read-only memory (PROM),electrically programmable read-only memory (EPROM), electricallyerasable read-only memory (EEPROM), flash memory, a hard disk drive,optical media, magnetic tape, a file server, any other tangible datastorage device, or any combination thereof. The tangible computerreadable medium is non-transitory.

Further, although the example block diagrams, systems, and/or flowdiagrams are described above with reference to the figures, otherimplementations may be employed. For example, the order of execution ofthe components, elements, blocks, and/or functionality may be changedand/or some of the components, elements, blocks, and/or functionalitydescribed may be changed, eliminated, sub-divided, or combined.Additionally, any or all of the components, elements, blocks, and/orfunctionality may be performed sequentially and/or in parallel by, forexample, separate processing threads, processors, devices, discretelogic, and/or circuits.

While embodiments have been disclosed, various changes may be made andequivalents may be substituted. In addition, many modifications may bemade to adapt a particular situation or material. Therefore, it isintended that the disclosed technology not be limited to the particularembodiments disclosed, but will include all embodiments falling withinthe scope of the appended claims.

1. (canceled)
 2. A system comprising: a computing device configured to:define a communication redundancy threshold associated with a signalstrength of a wireless data channel at a mobile trading device, whereinthe mobile trading device uses the wireless data channel to send tradeorder messages to buy or sell a tradeable object to an electronicexchange, wherein the communication redundancy threshold indicates aprobability of a successful transmission of the trade order messagesover the wireless data channel to the electronic exchange based on thesignal strength at the mobile trading device; detect by the mobiletrading device a first trade order to buy or sell the tradeable objectat the electronic exchange to be sent over the wireless data channelfrom the mobile trading device to the electronic exchange; determine asignal strength of the wireless data channel at the mobile tradingdevice via a wireless radio device associated with the mobile tradingdevice; determine a communication state of the mobile trading devicebased on at least one factor including the signal strength of thewireless data channel, the mobile trading device configured to utilizeat least one of the wireless data channel and a text message channel tocommunicate; compare the communication state to the communicationredundancy threshold; reconfiguring, based on the comparison of thecommunication state to the communication redundancy threshold, themobile trading device from transmitting the first trade order using onlythe wireless data channel to transmitting the first trade order to theelectronic exchange using both the wireless data channel and the textmessage channel; assign a first identifier to the first trade order; andtransmit the first trade order from the mobile trading device to aserver using both the wireless data channel and the text messagechannel, wherein the first order is transmitted using the wireless datachannel in a first trade order message comprising the first identifier,and wherein the first order is transmitted using the text messagechannel in a second trade order message comprising the first identifier,such that the server is to process only one of the first trade ordermessage and the second trade order message based on the first identifierand a time of receipt of the first trade order message and the secondtrade order message.
 3. The system of claim 2, wherein the at least onefactor further comprises a geographic location of the trading device, apower level of the trading device, or a ping duration of the mobiletrading device, wherein the ping duration is a length of time to returna message from the mobile trading device to the server across thewireless data channel.
 4. The system of claim 2, wherein the first tradeorder comprises at least one of a request to modify a trade order at theelectronic exchange, a new trade order, a request to delete a tradeorder pending at the electronic exchange.
 5. The system of claim 2,wherein the wireless data channel utilizes at least one of a timedivision multiple access (TDMA), code division multiple access (CDMA),orthogonal frequency division multiplexing (OFDM), global system formobile (GSM) communications, Wi-Fi communication, Long Term Evolution(LTE) communication, a High Speed Packet Access (HSPA(+)) network, and aWorldwide Interoperability for Microwave Access (WiMAX).
 6. The systemof claim 2, wherein the second trade order message comprises a shortmessage service (SMS) communication message.
 7. The system of claim 2,wherein each of the first trade order message and the second trade ordermessage further comprises a priority indicator, the priority indicatornotifying the server to execute the first trade order if the first tradeorder message or the second trade order message arrives in an executionqueue of the server inverse to an order of transmission.
 8. The systemof claim 2, wherein the mobile trading device comprises the computingdevice.